package com.stu.day13;

import java.util.ArrayList;
import java.util.List;
import java.util.Vector;

/**
 * ArrayList:有序可重复
 * 底层是一个不断1.5倍扩容的数组
 * 第一次添加元素时长度为10
 *
 * @author zy
 * @date 2025/2/11 09:25
 */
public class ArrayListDemo {
    public static void main(String[] args) {
        List<Integer> list1 = new ArrayList<Integer>();
        list1.add(1);  // 尾部添加元素
        list1.add(2);
        list1.add(1);
        System.out.println(list1);

        List<Integer> list0 = new Vector<>();  // 底层是数组实现的

        List<Integer> list2 = new ArrayList<>();
        list2.add(10);
        list2.add(20);
        list2.add(1, 30);  // 任意位置添加元素
        System.out.println(list2);

        list1.addAll(list2);
        System.out.println(list1);  // 尾部添加集合

        List<String> list3 = new ArrayList<>();
        System.out.println(list3);  // []
        list3.add("a");
        List<String> list4 = new ArrayList<>();
        list4.add("b");
        list3.addAll(0, list4);  // 任意位置添加集合
        System.out.println(list3);
        System.out.println(list3.size());  // 2
        list3.clear();
        System.out.println(list3.isEmpty());  // true
        System.out.println(list3);  // []

        System.out.println(list1.get(5));  // 获取下标为5的元素
        System.out.println(list1.indexOf(3));  // 获取元素为3的下标,没有返回-1
    }
}
